如果沒有近似繼承的方法用,那會顯得有點空虛。
( 那到底為什麼要和物件導向切割得這麼乾淨呢? )
function Foo( name ) {
this.name = name;
}
Foo.prototype.myName = function() {
return this.name;
}
function Bar( name, label ) {
Foo.call( this, name );
this.label = label;
}
Bar.prototype = Object.create( Foo.prototype );
Bar.prototype.myLabel = function () {
return this.label;
}
var a = new Bar( "a", "obj a");
a.myName(); // "a"
a.myLabel(); // "obj a"
程式會照這樣的邏輯跑
這樣對嗎? 來繼續看下去。
(但肯定不是下面兩種)
如果要真正了解 a 的歸屬,就要看他的繼承世系 ( inheritance ancestry )。其他類別導向的環境稱為 introspection。
設定如下。
function Foo() {
// ..
}
Foo.prototype.blah = ...;
var a = new Foo();
來找 a 是什麼吧!
a instanceof Foo; // true
instanceof 運算子回答的是
a 再找個原型鍊上,Foo.prototype 指向的物件是否存在?
鐵人賽的最後一天,依然是匆促趕稿中。
其實還有相當多缺漏的地方,之後會一一補齊。
第一次感受除了快速吸收知識以外,還要能夠將知識轉換出去的緊湊感。
每天一個章節,是一開始下得豪語。後來發現真的會哭得下豪雨。
後來漸漸的變成了花固定的時間,寫出已經吸收的內容。
謝謝大家這 30 天的陪伴,看著點閱數和訂閱增加,蠻有成就感的。
Tony 會繼續調整以往的內容。再把第二本也完整的補完。